package com.magic.smartcity.view.more.models.services

import com.magic.smartcity.beans.MetroCurrentStationLines
import com.magic.smartcity.beans.MetroLine
import com.magic.smartcity.beans.MetroLines
import com.magic.smartcity.beans.MetroStep
import com.magic.smartcity.beans.pojo.ResultData
import com.magic.smartcity.beans.pojo.ResultList
import io.reactivex.rxjava3.core.Observable
import retrofit2.http.GET
import retrofit2.http.Path
import retrofit2.http.Query

interface MetroService {
    @GET("/prod-api/api/metro/line/list")
    fun getMetroAllLineList(): Observable<ResultList<MetroLine>>

    /**
     * 获取经过本站点的所有线路
     */
    @GET("/prod-api/api/metro/step/list")
    fun getLinesByStationName(@Query("name") stationName: String): Observable<ResultList<MetroLines>>

    /**
     * 获取本线路经过的所有站点信息列表(站点信息列表包括经过此站点的所有线路)
     */
    @GET("/prod-api/api/metro/step/list")
    fun getLinesByLineId(@Query("lineId") lineId: String): Observable<ResultList<MetroLines>>

    /**
     * 获取经过本站点的所有线路信息,包括此站点的线路的上一站和下一站
     */
    @GET("/prod-api/api/metro/list")
    fun getCurrentStationDetail(@Query("currentName") currentName: String): Observable<ResultList<MetroCurrentStationLines>>

    /**
     * 获取此线路的详情信息，包括首发站终点站信息，站点顺序
     */
    @GET("/prod-api/api/metro/line/{id}")
    fun getStepDetailByLineId(@Path("id") lineId: String):Observable<ResultData<MetroStep>>
}